Towards the Verifying Compiler

نویسنده

  • C. A. R. Hoare
چکیده

A verifying compiler is one that proves automatically that a program is correct before allowing it to be run. Correctness of a program is defined by placing assertions at strategic points in the program text, particularly at the interfaces between its components. From recent enquiries among software developers at Microsoft, I have discovered that assertions are widely used in program development practice. Their main role is as test oracles, to detect programming errors as close as possible to their place of occurrence. Further progress in reliable software engineering is supported by programmer productivity tools that exploit assertions of various kinds in various ways at all stages in program development. The construction and exploitation of a fully verifying compiler remains as a long-term challenge for twenty-first century Computing Science. The results of this research will be of intermediate benefit long before the eventual ideal is reached.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Testing-Based Compiler Validation for Synchronous Languages

In this paper we present a novel lightweight approach to validate compilers for synchronous languages. Instead of verifying a compiler for all input programs or providing a fixed suite of regression tests, we extend the compiler to generate a test-suite with high behavioral coverage and geared towards discovery of faults for every compiled artifact. We have implemented and evaluated our approac...

متن کامل

Towards a Formal Verification of a Secure and Distributed System and Its Applications

This paper presents research towards the formal speci cation and veri cation of a secure distributed system and secure application programs that run on it. We refer to the whole system | from hardware to application programs written in a concurrent programming language | as the Silo, and to a simpli ed view of the Silo as the miniSilo. Both miniSilo and Silo consist of a collection of microproc...

متن کامل

Towards a Formal Verification of a Secure and Distributed System and Its Applications1

This paper presents research towards the formal speciication and veriication of a secure distributed system and secure application programs that run on it. We refer to the whole system | from hardware to application programs written in a concurrent programming language | as the Silo, and to a simpliied view of the Silo as the miniSilo. Both miniSilo and Silo consist of a collection of microproc...

متن کامل

Towards a Formal Verification of a Secure Distributed System and Its Applications1

This paper presents research towards the formal speciication and veriication of a secure distributed system and secure application programs that run on it. We refer to the whole system | from hardware to application programs written in a concurrent programming language | as the Silo, and to a simpliied view of the Silo as the miniSilo. Both miniSilo and Silo consist of a collection of microproc...

متن کامل

On Essential Program Annotations and Completeness of Verifying Compilers

It is widely recognized that interaction is indispensable in deductive verification of real-world code. A verification engineer has to guide the proof search and provide information reflecting their insight into the workings of the program. Lately we have seen a shift towards a paradigm, called verifying compilers, where the required information is provided in form of program annotations instea...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002